package com.zlm.mall.publisher.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * Author: Harbour
 * Date: 2021-04-23 19:33
 * Desc: 操作order_wide表的mapper接口
 */
@Mapper
public interface OrderWideMapper {

    /**
     * 获取当日的订单总金额
     * @param date 日期
     * @return 总金额
     */
    BigDecimal selectOrderAmountTotal (String date);

    /**
     * 查询分时的销售金额
     * @param date 日期
     * @return
     */
    List<Map> selectOrderAmountHourMap(String date);

    /**
     * 获取过去的月销售额
     * @return 所有月份的销售额
     */
    List<Map> selectOrderAmountMonthMap();


    /**
     * 获取各省份销售总额
     * @param year 年份
     * @return 各省份在这一年的销售总额
     */
    List<Map> selectOrderAmountProvinceMap(@Param("year") int year);

    /**
     * 获取topN 热门品牌
     * @param topN top N
     * @return
     */
    List<Map> selectHotTradeMarkMap(@Param("topN") int topN);

//    /**
//     * 比较最近几个月的销售额 相比去年同一时期的销售额
//     * @return
//     */
//    List<Map> selectOrderAmountComparisonMap(@Param("year") int year);

    /**
     * 查询近一周销售额
     * @return 近一周销售额
     */
    List<Map> selectOrderAmountWeekMap();


    /**
     * 查询用户年龄分布
     * @return 用户年龄分布
     */
    List<Map> selectUserAgeGroupMap();

    /**
     * 查询订单数量
     * @return 订单数量
     */
    List<Map> selectOrderCountMap();
}
